package org.litu.app.service;

import org.litu.app.entity.system.SysUser;
import org.litu.base.service.IBaseService;
import org.litu.core.login.UserInfo;

/**
 * <p>
 * user服务类
 * </p>
 *
 * @author ltgk
 * @since 2018-10-17
 */
public interface ISysUserService extends IBaseService<SysUser> {

    /**
     * 用户信息逻辑删除，冻结
     *
     * @param user 当前用户信息
     * @param id   用户的id信息
     * @return
     */
    boolean logicDelete(UserInfo user, String id);

    /**
     * 根据账户名查找用户
     *
     * @param account
     * @return
     */
    public SysUser getByAccount(String account);

    /**
     * 更换当前登陆用户头像
     *
     * @param userId  用户ID
     * @param photoId 用户头像ID
     * @return 如果替换成功，则返回true
     */
    boolean updatePhoto(String userId, String photoId);

    /**
     * 用户账号查重
     *
     * @param userId  当前用户的ID，在用户修改登陆账号时使用到
     * @param account 当前的账号信息
     * @return
     */
    boolean accountCheck(String userId, String account);
}
